package com.ibeeking.found.msg.service.common.dos;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ibeeking.found.common.base.BaseDO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @ClassName EmailConfigDO
 * @Description 邮件服务器配置表
 * @Author ibeeking
 * @Date 2020-12-09 10:54
 **/
@Data
@TableName("email_config")
public class EmailConfigDO implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 邮件服务供应商代码
     */
    @TableField(value = "vender_code")
    private String venderCode;
    /**
     * 配置名称
     */
    @TableField(value = "name")
    private String name;

    /**
     * 发件服务器协议(SMTP/IMAP)
     */
    @TableField(value = "send_protocol")
    private String sendProtocol;

    /**
     * 发件服务器Host
     */
    @TableField(value = "send_host")
    private String sendHost;

    /**
     * 发件服务器Port
     */
    @TableField(value = "send_port")
    private Integer sendPort;
    /**
     * 发件人邮箱
     */
    @TableField(value = "sender_email")
    private String senderEmail;
    /**
     * 发件人邮箱密码
     */
    @TableField(value = "sender_email_password")
    private String senderEmailPassword;
    /**
     * 是否需要SSL验证，0-不需要，1-需要
     */
    @TableField(value = "need_ssl")
    private Integer needSsl;

    /**
     * 附加参数Json
     */
    @TableField(value = "other_info")
    private String otherInfo;
    /**
     * 是否缺省，0-不是，1-是
     */
    @TableField(value = "have_default")
    private Integer haveDefault;
    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;
    /**
     * 是否启用，1-启用，0-未启用
     */
    @TableField(value = "publish_status")
    private Integer publishStatus;

    @TableField("create_time")
    private LocalDateTime createTime;

    @TableField("create_by")
    private Long createBy;

    @TableField("modify_time")
    private LocalDateTime modifyTime;

    @TableField("modify_by")
    private Long modifyBy;
}
